package com.itheima.tlias84.controller;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.itheima.tlias84.Util.ResultUtil;
import com.itheima.tlias84.config.AliyunOssConfig;
import com.itheima.tlias84.config.OssClient;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@Slf4j
@RestController
@RequestMapping("/upload")
public class UploadController {
    @Resource
    AliyunOssConfig aliyunOssConfig;
    @Resource
    OssClient ossClient;

    /**
     * MultipartFile Spring 封装的用于接收文件的对象
     *
     * @param file
     * @return
     */
    @PostMapping
    public ResultUtil upload(MultipartFile file) throws IOException {
        //获取参数名
        log.info("name{}", file.getName());
        //获取实际上传文件名
        log.info("originalFilename{}", file.getOriginalFilename());
        //拆分文件后缀(类型)
        String filename = file.getOriginalFilename();
        String url = ossClient.upload(filename, file.getInputStream());
        return ResultUtil.success("上传成功",url);

//        String suffix = filename.substring(filename.lastIndexOf("."));

//        //阿里云oss访问路径
//        String endpoint = aliyunOssConfig.getEndpoint();

//        //填写Bucket名称
//        String bucketName = aliyunOssConfig.getBucketName();

//        //生成不重复id
//        String uuid = UUID.randomUUID().toString();

//        // 填写Object完整路径，完整路径中不能包含Bucket名称，例如exampledir/exampleobject.txt。
//        String objectName = uuid + suffix;

         //转移文件到阿里云OSS

        // 创建OSSClient实例,要指定访问秘钥
//        OSS ossClient = new OSSClientBuilder().build(endpoint, aliyunOssConfig.getAccessKeyId(),
//       aliyunOssConfig.getSecretAccessKey());


    }
}
